e59a18f3adba5b56017e667faa78e95b18569452,src/main/java/com/qwazr/Qwazr.java,Qwazr,Qwazr,#QwazrConfiguration#,54

Before Change


		builder.restAccessLogger(ACCESS_REST_LOGGER);

		final ClassLoaderManager classLoaderManager = new ClassLoaderManager(builder, Thread.currentThread());
		final ClusterManager clusterManager = new ClusterManager(builder);

		if (QwazrConfiguration.ServiceEnum.compiler.isActive(configuration))
			new CompilerManager(executorService, classLoaderManager, builder);

		builder.webService(WelcomeShutdownService.class);

		final TableManager tableManager = QwazrConfiguration.ServiceEnum.table.isActive(configuration) ?
				TableManager.getNewInstance(builder) :
				null;

		final LibraryManager libraryManager =
				new LibraryManager(classLoaderManager, tableManager == null ? null : tableManager.getService(),
						builder);
		builder.identityManagerProvider(libraryManager);

		if (QwazrConfiguration.ServiceEnum.profiler.isActive(configuration))
			ProfilerManager.load(builder);

		if (QwazrConfiguration.ServiceEnum.extractor.isActive(configuration))
			new ExtractorManager(builder);

		final ScriptManager scriptManager = QwazrConfiguration.ServiceEnum.scripts.isActive(configuration) ?
				new ScriptManager(executorService, classLoaderManager, clusterManager, libraryManager, builder) :
				null;

		if (QwazrConfiguration.ServiceEnum.webcrawler.isActive(configuration))
			new WebCrawlerManager(clusterManager, scriptManager, executorService, builder);

		if (QwazrConfiguration.ServiceEnum.search.isActive(configuration))
			new IndexManager(classLoaderManager, builder, executorService);

		if (QwazrConfiguration.ServiceEnum.graph.isActive(configuration))
			new GraphManager(builder);

		if (QwazrConfiguration.ServiceEnum.store.isActive(configuration))
			new StoreManager(builder);

		if (QwazrConfiguration.ServiceEnum.webapps.isActive(configuration))
			new WebappManager(libraryManager, builder);

		// Scheduler is last, because it may immediatly execute a scripts
		if (QwazrConfiguration.ServiceEnum.schedulers.isActive(configuration))
			new SchedulerManager(clusterManager, scriptManager, builder);

		server = builder.build();
	}

After Change


		builder.restAccessLogger(ACCESS_REST_LOGGER);

		classLoaderManager = new ClassLoaderManager(builder, Thread.currentThread());
		clusterManager = new ClusterManager(builder);

		compilerManager = QwazrConfiguration.ServiceEnum.compiler.isActive(configuration) ?
				new CompilerManager(executorService, classLoaderManager, builder) :
				null;

		builder.webService(WelcomeShutdownService.class);

		tableManager = QwazrConfiguration.ServiceEnum.table.isActive(configuration) ?
				TableManager.getNewInstance(builder) :
				null;

		libraryManager = new LibraryManager(classLoaderManager, tableManager == null ? null : tableManager.getService(),
				builder);
		builder.identityManagerProvider(libraryManager);

		if (QwazrConfiguration.ServiceEnum.profiler.isActive(configuration))
			ProfilerManager.load(builder);

		extractorManager =
				QwazrConfiguration.ServiceEnum.extractor.isActive(configuration) ? new ExtractorManager(builder) : null;

		scriptManager = QwazrConfiguration.ServiceEnum.scripts.isActive(configuration) ?
				new ScriptManager(executorService, classLoaderManager, clusterManager, libraryManager, builder) :
				null;

		webCrawlerManager = QwazrConfiguration.ServiceEnum.webcrawler.isActive(configuration) ?
				new WebCrawlerManager(clusterManager, scriptManager, executorService, builder) :
				null;

		indexManager = QwazrConfiguration.ServiceEnum.search.isActive(configuration) ?
				new IndexManager(classLoaderManager, builder, executorService) :
				null;

		graphManager = QwazrConfiguration.ServiceEnum.graph.isActive(configuration) ? new GraphManager(builder) : null;

		storeManager = QwazrConfiguration.ServiceEnum.store.isActive(configuration) ? new StoreManager(builder) : null;

		webappManager = QwazrConfiguration.ServiceEnum.webapps.isActive(configuration) ?
				new WebappManager(libraryManager, builder) :
				null;

		// Scheduler is last, because it may immediatly execute a scripts
		schedulerManager = QwazrConfiguration.ServiceEnum.schedulers.isActive(configuration) ?
				new SchedulerManager(clusterManager, scriptManager, builder) :
				null;

		server = builder.build();